CREATE PROCEDURE CarregaDimVeiculoOcorrencia (@DataCarga DATETIME)
AS
	DECLARE @idOcorrencia INT, @CodOcorrencia INT, @idVeiculo INT, @CodVeiculo INT
	DECLARE @BUSCAITENS INT
	
	SET @BUSCAITENS = (SELECT COUNT(*) FROM ST_SiGAT.dbo.VeiculoOcorrencia WHERE dataCarga = @DataCarga)
	IF (@BUSCAITENS <>0)
	BEGIN
		DECLARE C_VEICULOSOCORRENCIA CURSOR FOR
		SELECT [CodOcorrencia]
			  ,[CodVeiculo]
		  FROM [ST_SiGAT].[dbo].[VeiculoOcorrencia]
		  WHERE dataCarga = @DataCarga
		
		OPEN C_VEICULOSOCORRENCIA
		FETCH C_VEICULOSOCORRENCIA INTO @CodOcorrencia, @CodVeiculo
		
		WHILE (@@FETCH_STATUS = 0)
		BEGIN
			--BUSCANDO VALORES DAS IDS
			SET @idOcorrencia	= (SELECT idOcorrencia FROM FatoOcorrencia WHERE CodOcorrencia = @CodOcorrencia)
			SET @idVeiculo		= (SELECT idVeiculo FROM DimVeiculo WHERE CodVeiculo = @CodVeiculo)
			INSERT INTO [DW_SiGAT].[dbo].[DimVeiculoOcorrencia]
					   ([idOcorrencia],[idVeiculo],[CodOcorrencia],[CodVeiculo])
				 VALUES
					   (@idOcorrencia, @idVeiculo, @CodOcorrencia, @CodVeiculo)
			FETCH C_VEICULOSOCORRENCIA INTO @CodOcorrencia, @CodVeiculo
		END
		CLOSE C_VEICULOSOCORRENCIA
		DEALLOCATE C_VEICULOSOCORRENCIA
	END
GO


--TESTE DO PROCEDIMENTO DE CARGA DA DIMVEICULOOCORRENCIA
EXEC CarregaDimVeiculoOcorrencia '2012-07-15';
SELECT * FROM DimVeiculoOcorrencia;